package com.ruoyi.system.api.service;

import com.ruoyi.system.api.ResponseWithData;
import com.ruoyi.system.api.domain.FseLocation;
import com.ruoyi.system.api.domain.FseLocationLog;
import com.ruoyi.system.api.domain.Login;
import com.ruoyi.system.api.domain.dto.FseLocationDto;

import java.util.List;
import java.util.Map;

public interface LocationService {


    /**getFseLocationLog
     * 获取TL下所有FSE的实时位置（经纬度）接口
     * @methodName: getFseLocation
     * @description: TODO
     * @param TeamleaderId
     * @param name
     * @return: com.ruoyi.system.api.ResponseWithData<?>
     * @author: shihx
     * @date: 2020/3/2 9:35
    **/
    public ResponseWithData<?> getFseLocation(String TeamleaderId, String name, String enginnerId) throws Exception;

    /**
     * App端实时上传经纬度信息接口
     * @methodName: reportLocation
     * @description: TODO
     * @param data
     * @return: com.ruoyi.system.api.ResponseWithData<?>
     * @author: shihx
     * @date: 2020/3/4 9:48
    **/
    public ResponseWithData<?> reportLocation(FseLocationDto data) throws Exception;

    /**
     * 获取该服务单已派单的FSE列表信息接口
     * @methodName: getSentFseList
     * @description: TODO
     * @param ServiceNoticeId
     * @return: com.ruoyi.system.api.ResponseWithData<?>
     * @author: shihx
     * @date: 2020/3/4 18:46
    **/
    public ResponseWithData<?> getSentFseList(String ServiceNoticeId) throws Exception;

    /**
     * 获取待指派FSE列表信息接口
     * @methodName: getToBeAppointedFse
     * @description: TODO
     * @param ServiceNoticeId
     * @param TeamleaderId
     * @return: com.ruoyi.system.api.ResponseWithData<?>
     * @author: shihx
     * @date: 2020/3/5 9:45
    **/
    public ResponseWithData<?> getToBeAppointedFse(String ServiceNoticeId, String TeamleaderId, String name) throws Exception;

    /**
     * 获取TL下所有FSE的实时位置（经纬度）和设备的位置（经纬度）接口
     * @methodName: getLocation
     * @description: TODO
     * @param ServiceNoticeId
     * @param TeamleaderId
     * @return: com.ruoyi.system.api.ResponseWithData<?>
     * @author: shihx
     * @date: 2020/3/6 15:30
    **/
    public ResponseWithData<?> getLocation(String ServiceNoticeId, String TeamleaderId) throws Exception;

    /**
     * 高德地理解析经纬度
     * @methodName: AddressResolution
     * @description: TODO
     * @param address
     * @param city
     * @return: java.util.Map<java.lang.String,java.lang.Object>
     * @author: shihx
     * @date: 2020/3/12 15:28
    **/
    public Map<String,String> AddressResolution(String address,String city) throws  Exception;


    /**
     * 获取fse历史定位接口
     * @methodName: getFseLocationLog
     * @description: TODO
     * @return: com.ruoyi.system.api.ResponseWithData<?>
     * @author: wlf
     * @date: 2020/4/15 11:05
     **/
    ResponseWithData<?> getFseLocationLog(String teamleaderId, String fseId, String fseName, String startTime, String endTime) throws Exception;
    public List<FseLocationLog> dealWithFseLocationLog(List<FseLocationLog> list) throws Exception;

}
